#ifndef TILE_H
#define TILE_H

#include <QString>
#include <QList>
#include "envobject.h"
#include "item.h"
#include "pivotdoor.h"

class Tile {
    public:
        Tile(QString, EnvObject*, Item*, QList<PivotDoor*>*, bool, bool);
        ~Tile();

        QString getFloorType();
        EnvObject* getObject();
        Item* getItem();
        QList<PivotDoor*>* getPivotDoors();
        bool getWallB();
        bool getWallR();
        void setFloorType(QString newFloorType);
        void setObject(EnvObject *newObject);
        void setItem(Item *newItem);
        void setWallB(bool newWallB);
        void setWallR(bool newWallR);
        void toggleWallB();
        void toggleWallR();

    private:
        QString floorType;
        EnvObject *object;
        Item *item;
        QList<PivotDoor*> *pivotDoors;
        bool wallB; // determines if there is a wall along the bottom of this tile
        bool wallR; // determines if there is a wall along the right of this tile

};

#endif // TILE_H
